Human/machine interfaces (HMIs) or simply user interfaces are important to the successful operation and maintenance of industrial automation devices and equipment. User interfaces provide the essential communication link between operators and automation devices. This link allows operators to, among other things, setup devices, monitor device status during operation, as well as analyze device health. Without such user interfaces, high level industrial automation would be difficult if not impossible to achieve.
Over the years, user interfaces have gone through several changes. At first, user interfaces were simply dumb terminals, which merely displayed text messages to end-users indicative of some process performed by a server or processor associated with an automated device. For instance, a failed device would generate an internal error code representing a determined error which could then be matched to a particular error message and displayed to a user or operator on a display device. Over time, client side processing developed so as to enable a move from a text based interface to a graphical user interface (GUI). This transition shifted some of the processing burden away from the automated device or associated processor toward the client side GUI. These new GUIs vastly improved the ability of users to access information quickly and easily. Unfortunately, these GUIs were not portable in part because of there size and machine dependencies and therefore not a viable option for managing and controlling a plurality of network connected devices. Shortly thereafter, the processing burden shifted back toward devices and away from interfaces with the advent the Internet and web browsers. As a result, developers sought to use web browsers as an interface mechanism. However, browsers merely employ a mark up language that is useful for displaying text and static images over a network (as was the purpose of browsers when they were conceived), but not for dynamic user interfaces. Accordingly there is a need in the art for a browser-based interface that provides users with a rich interactive experience that allows users to quickly and easily access and transfer information to and from automation devices in real-time.